{
  "_format": "hh-sol-artifact-1",
  "contractName": "Bank",
  "sourceName": "contracts/Bank.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "balances",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "symbol",
          "type": "bytes32"
        }
      ],
      "name": "depositTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "symbol",
          "type": "bytes32"
        }
      ],
      "name": "getTokenBalance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getWhitelistedSymbols",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "symbol",
          "type": "bytes32"
        }
      ],
      "name": "getWhitelistedTokenAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "symbol",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "tokenAddress",
          "type": "address"
        }
      ],
      "name": "whitelistToken",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "whitelistedSymbols",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "whitelistedTokens",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdrawEther",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "symbol",
          "type": "bytes32"
        }
      ],
      "name": "withdrawTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061101c806100606000396000f3fe6080604052600436106100955760003560e01c806388db6ac61161005957806388db6ac61461021f5780638f97994b1461025c578063aa3d9a1514610285578063d15b223e146102c2578063e8812788146102eb57610123565b8063069fdaae146101285780631f14df69146101515780633bed33ce1461018e5780634762b976146101b75780634b1e4aa5146101f457610123565b366101235734600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f45746800000000000000000000000000000000000000000000000000000000008152602001908152602001600020600082825461011a9190610e7f565b92505081905550005b600080fd5b34801561013457600080fd5b5061014f600480360381019061014a9190610b15565b610328565b005b34801561015d57600080fd5b5061017860048036038101906101739190610a87565b610435565b6040516101859190610e0f565b60405180910390f35b34801561019a57600080fd5b506101b560048036038101906101b09190610b51565b61045a565b005b3480156101c357600080fd5b506101de60048036038101906101d99190610b51565b610600565b6040516101eb9190610db4565b60405180910390f35b34801561020057600080fd5b50610209610624565b6040516102169190610d92565b60405180910390f35b34801561022b57600080fd5b5061024660048036038101906102419190610aec565b61067c565b6040516102539190610e0f565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e9190610b7a565b6106d6565b005b34801561029157600080fd5b506102ac60048036038101906102a79190610aec565b610895565b6040516102b99190610d17565b60405180910390f35b3480156102ce57600080fd5b506102e960048036038101906102e49190610b7a565b6108c8565b005b3480156102f757600080fd5b50610312600480360381019061030d9190610aec565b6109f6565b60405161031f9190610d17565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ad90610def565b60405180910390fd5b6001829080600181540180825580915050600190039060005260206000200160009091909190915055806002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f4574680000000000000000000000000000000000000000000000000000000000815260200190815260200160002054101561050d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050490610dcf565b60405180910390fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f45746800000000000000000000000000000000000000000000000000000000008152602001908152602001600020600082825461058d9190610ed5565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16816040516105b890610d02565b60006040518083038185875af1925050503d80600081146105f5576040519150601f19603f3d011682016040523d82523d6000602084013e6105fa565b606091505b50505050565b6001818154811061061057600080fd5b906000526020600020016000915090505481565b6060600180548060200260200160405190810160405280929190818152602001828054801561067257602002820191906000526020600020905b81548152602001906001019080831161065e575b5050505050905090565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020549050919050565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020541015610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076090610dcf565b60405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060008282546107c99190610ed5565b925050819055506002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b815260040161083e929190610d69565b602060405180830381600087803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108909190610ac3565b505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060008282546109289190610e7f565b925050819055506002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161099f93929190610d32565b602060405180830381600087803b1580156109b957600080fd5b505af11580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f19190610ac3565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600081359050610a4281610f8a565b92915050565b600081519050610a5781610fa1565b92915050565b600081359050610a6c81610fb8565b92915050565b600081359050610a8181610fcf565b92915050565b60008060408385031215610a9a57600080fd5b6000610aa885828601610a33565b9250506020610ab985828601610a5d565b9150509250929050565b600060208284031215610ad557600080fd5b6000610ae384828501610a48565b91505092915050565b600060208284031215610afe57600080fd5b6000610b0c84828501610a5d565b91505092915050565b60008060408385031215610b2857600080fd5b6000610b3685828601610a5d565b9250506020610b4785828601610a33565b9150509250929050565b600060208284031215610b6357600080fd5b6000610b7184828501610a72565b91505092915050565b60008060408385031215610b8d57600080fd5b6000610b9b85828601610a72565b9250506020610bac85828601610a5d565b9150509250929050565b6000610bc28383610c3b565b60208301905092915050565b610bd781610f09565b82525050565b6000610be882610e3a565b610bf28185610e52565b9350610bfd83610e2a565b8060005b83811015610c2e578151610c158882610bb6565b9750610c2083610e45565b925050600181019050610c01565b5085935050505092915050565b610c4481610f27565b82525050565b610c5381610f27565b82525050565b6000610c66601283610e6e565b91507f496e73756666696369656e742066756e647300000000000000000000000000006000830152602082019050919050565b6000610ca6601c83610e6e565b91507f546869732066756e6374696f6e206973206e6f74207075626c696321000000006000830152602082019050919050565b6000610ce6600083610e63565b9150600082019050919050565b610cfc81610f51565b82525050565b6000610d0d82610cd9565b9150819050919050565b6000602082019050610d2c6000830184610bce565b92915050565b6000606082019050610d476000830186610bce565b610d546020830185610bce565b610d616040830184610cf3565b949350505050565b6000604082019050610d7e6000830185610bce565b610d8b6020830184610cf3565b9392505050565b60006020820190508181036000830152610dac8184610bdd565b905092915050565b6000602082019050610dc96000830184610c4a565b92915050565b60006020820190508181036000830152610de881610c59565b9050919050565b60006020820190508181036000830152610e0881610c99565b9050919050565b6000602082019050610e246000830184610cf3565b92915050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610e8a82610f51565b9150610e9583610f51565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610eca57610ec9610f5b565b5b828201905092915050565b6000610ee082610f51565b9150610eeb83610f51565b925082821015610efe57610efd610f5b565b5b828203905092915050565b6000610f1482610f31565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b610f9381610f09565b8114610f9e57600080fd5b50565b610faa81610f1b565b8114610fb557600080fd5b50565b610fc181610f27565b8114610fcc57600080fd5b50565b610fd881610f51565b8114610fe357600080fd5b5056fea26469706673582212201db97a6865aeadb5bec30058ea05b28e67b666cef6f97cf41a6017d53406f7dd64736f6c63430008000033",
  "deployedBytecode": "0x6080604052600436106100955760003560e01c806388db6ac61161005957806388db6ac61461021f5780638f97994b1461025c578063aa3d9a1514610285578063d15b223e146102c2578063e8812788146102eb57610123565b8063069fdaae146101285780631f14df69146101515780633bed33ce1461018e5780634762b976146101b75780634b1e4aa5146101f457610123565b366101235734600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f45746800000000000000000000000000000000000000000000000000000000008152602001908152602001600020600082825461011a9190610e7f565b92505081905550005b600080fd5b34801561013457600080fd5b5061014f600480360381019061014a9190610b15565b610328565b005b34801561015d57600080fd5b5061017860048036038101906101739190610a87565b610435565b6040516101859190610e0f565b60405180910390f35b34801561019a57600080fd5b506101b560048036038101906101b09190610b51565b61045a565b005b3480156101c357600080fd5b506101de60048036038101906101d99190610b51565b610600565b6040516101eb9190610db4565b60405180910390f35b34801561020057600080fd5b50610209610624565b6040516102169190610d92565b60405180910390f35b34801561022b57600080fd5b5061024660048036038101906102419190610aec565b61067c565b6040516102539190610e0f565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e9190610b7a565b6106d6565b005b34801561029157600080fd5b506102ac60048036038101906102a79190610aec565b610895565b6040516102b99190610d17565b60405180910390f35b3480156102ce57600080fd5b506102e960048036038101906102e49190610b7a565b6108c8565b005b3480156102f757600080fd5b50610312600480360381019061030d9190610aec565b6109f6565b60405161031f9190610d17565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ad90610def565b60405180910390fd5b6001829080600181540180825580915050600190039060005260206000200160009091909190915055806002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f4574680000000000000000000000000000000000000000000000000000000000815260200190815260200160002054101561050d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050490610dcf565b60405180910390fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f45746800000000000000000000000000000000000000000000000000000000008152602001908152602001600020600082825461058d9190610ed5565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16816040516105b890610d02565b60006040518083038185875af1925050503d80600081146105f5576040519150601f19603f3d011682016040523d82523d6000602084013e6105fa565b606091505b50505050565b6001818154811061061057600080fd5b906000526020600020016000915090505481565b6060600180548060200260200160405190810160405280929190818152602001828054801561067257602002820191906000526020600020905b81548152602001906001019080831161065e575b5050505050905090565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020549050919050565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020541015610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076090610dcf565b60405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060008282546107c99190610ed5565b925050819055506002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b815260040161083e929190610d69565b602060405180830381600087803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108909190610ac3565b505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060008282546109289190610e7f565b925050819055506002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161099f93929190610d32565b602060405180830381600087803b1580156109b957600080fd5b505af11580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f19190610ac3565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600081359050610a4281610f8a565b92915050565b600081519050610a5781610fa1565b92915050565b600081359050610a6c81610fb8565b92915050565b600081359050610a8181610fcf565b92915050565b60008060408385031215610a9a57600080fd5b6000610aa885828601610a33565b9250506020610ab985828601610a5d565b9150509250929050565b600060208284031215610ad557600080fd5b6000610ae384828501610a48565b91505092915050565b600060208284031215610afe57600080fd5b6000610b0c84828501610a5d565b91505092915050565b60008060408385031215610b2857600080fd5b6000610b3685828601610a5d565b9250506020610b4785828601610a33565b9150509250929050565b600060208284031215610b6357600080fd5b6000610b7184828501610a72565b91505092915050565b60008060408385031215610b8d57600080fd5b6000610b9b85828601610a72565b9250506020610bac85828601610a5d565b9150509250929050565b6000610bc28383610c3b565b60208301905092915050565b610bd781610f09565b82525050565b6000610be882610e3a565b610bf28185610e52565b9350610bfd83610e2a565b8060005b83811015610c2e578151610c158882610bb6565b9750610c2083610e45565b925050600181019050610c01565b5085935050505092915050565b610c4481610f27565b82525050565b610c5381610f27565b82525050565b6000610c66601283610e6e565b91507f496e73756666696369656e742066756e647300000000000000000000000000006000830152602082019050919050565b6000610ca6601c83610e6e565b91507f546869732066756e6374696f6e206973206e6f74207075626c696321000000006000830152602082019050919050565b6000610ce6600083610e63565b9150600082019050919050565b610cfc81610f51565b82525050565b6000610d0d82610cd9565b9150819050919050565b6000602082019050610d2c6000830184610bce565b92915050565b6000606082019050610d476000830186610bce565b610d546020830185610bce565b610d616040830184610cf3565b949350505050565b6000604082019050610d7e6000830185610bce565b610d8b6020830184610cf3565b9392505050565b60006020820190508181036000830152610dac8184610bdd565b905092915050565b6000602082019050610dc96000830184610c4a565b92915050565b60006020820190508181036000830152610de881610c59565b9050919050565b60006020820190508181036000830152610e0881610c99565b9050919050565b6000602082019050610e246000830184610cf3565b92915050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610e8a82610f51565b9150610e9583610f51565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610eca57610ec9610f5b565b5b828201905092915050565b6000610ee082610f51565b9150610eeb83610f51565b925082821015610efe57610efd610f5b565b5b828203905092915050565b6000610f1482610f31565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b610f9381610f09565b8114610f9e57600080fd5b50565b610faa81610f1b565b8114610fb557600080fd5b50565b610fc181610f27565b8114610fcc57600080fd5b50565b610fd881610f51565b8114610fe357600080fd5b5056fea26469706673582212201db97a6865aeadb5bec30058ea05b28e67b666cef6f97cf41a6017d53406f7dd64736f6c63430008000033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
